"""
@name : 2022-3-5作业
@author : qhy
@projectname: git的使用.py
"""
#######ip存储
import radom
dict1 = {}
with open("ips.txt","a")as fp:
#下次运行程序的时候清空ips.txt文件
 fp.truncate(0)
for i in range (120000):
# 随机产生ip地址的最后一位
 x = random.randint(1,255)
fp.write(f'172.25.254.{x}\n')
# 如果该地址曾经出现过，则次数+1
if x in dict1:
# 将得到的地址及其出现次数用字典存储
  dict1[x] = dict1[x] + 1
# 如果该地址为第一次出现，则次数为1
else:
    dict1[x] = 1
n = 10
# 将得到的字典按照values值(即ip出现次数)从大到小排序
list1 = sorted(dict1.items(),key=lambda y:y[1],reverse= True)
for i,j in list1:
    n = n-1
    print(f'出现次数第{10-n}的是172.25.254.{i},次数为{j}次')
    if n <= 0:
        break


######词频统计
import  string
# 使用Utf-8-sig可以避免在文件开头出现\ufeff
with open("Walden.txt",encoding='uft-8-sig')as fp:
    str1 = fp.read()
    # 将所有的标点和数字存于字符串biaodian中
    biaodian = string.punctuation + '0123456789'
    # 依次替换掉所有的标点和数字
    for i in biaodian:
        str1 = str1.replace(i,'')
        # 当不给split函数传递任何参数时，分隔符sep会采用任意形式的空白字符：空格、tab、换行、回车以及formfeed
        list1 = list(list1.splits())
        dict1 = {}
    for j in list1:
            # 将单词全部转换为小写
        x = j.lower()
        # 如果单词已经存入字典，则出现次数+1
        if x in dict1:
            dict1[x] = dict1[x] + 1
           # 如果单词为第一次出现，则为第一次出现
        else:
          dict1[x] = 1
          print(dict1)
